1. Field of the Invention
This invention relates generally to communication systems, and, more particularly, to wireless communication systems.
2. Description of the Related Art
A conventional communication system uses one or more access nodes to provide network connectivity to one or more mobile nodes. The access nodes may be referred to as access points, access networks, base stations, base station routers, cells, femtocells, and the like. For example, in a cellular communication system that operates according to Universal Mobile Telecommunication Services (UMTS) standards, one or more nodes may be used to provide wireless network connectivity to mobile nodes. The mobile nodes may include cellular telephones, personal data assistants, smart phones, text messaging devices, Global Positioning Systems, navigation systems, network interface cards, notebook computers, desktop computers, and the like. Numerous types and generations of wireless communication systems have been developed and deployed to provide network connectivity to mobile nodes. Exemplary wireless communication systems include systems that provide wireless connectivity to micro cells (e.g., systems that provide wireless connectivity according to the IEEE 802.11, IEEE 802.15, or Wi-Fi standards) and systems that provide wireless connectivity to macro cells (e.g., systems that operate according to the Third Generation Partnership Project standards—3GPP, 3GPP2—and/or systems operate according to the IEEE 802.16 and IEEE 802.20 standards). Multiple generations of these systems have been deployed including Second Generation (2G), Third Generation (3G), and Forth Generation (4G).
The coverage provided by different service providers in a heterogeneous communication system may intersect and/or overlap. For example, a wireless access node for a wireless local area network may provide network connectivity to mobile nodes in a micro cell associated with a coffee shop that is within the macro cell coverage area associated with a base station of a cellular communication system. For another example, cellular telephone coverage from multiple service providers may overlap and mobile nodes may therefore be able to access the wireless communication system using different generations of radio access technologies, e.g., when one service provider implements a 3G system and another service provider implements a 4G system. For yet another example, a single service provider may provide coverage using overlaying radio access technologies, e.g., when the service provider has deployed a 3G system and is in the process of incrementally upgrading to a 4G system.
The proliferation of different communication systems coupled with the desire of users to remain connected at all times has dramatically increased the opportunity and/or potential for handovers between systems that operate according to different radio access technologies. Inter-radio access technology (inter-RAT) handovers typically require make-before-break procedures to facilitate a seamless user experience during the handoff. For example, both legs of the handoff may use a common Internet protocol (IP) anchor point and a common authentication/authorization mechanism in the network to maintain IP session continuity during a handoff from a source access node to a target access node. From the end-user or mobile node perspective, preserving IP session continuity generally means that the end-user maintains the same IP address throughout the inter-technology hand off and registers this IP address with the network (over source and target paths, legs, or links that include source and target access nodes). From the network perspective, IP session continuity supports delivery of uplink data packets from the end-user device and downlink data packets to the end-user device. For example, a network-side forwarding function can be achieved by having the end-user device register the IP session with the IP anchor point over the target access node so that downlink IP packets can be tunneled from the IP anchor point to the target access node.
However, providing IP session continuity solves only half the problem. In order to provide a seamless user experience during the brief but significant handover periods great care must be taken to minimize the effect of the handover on the currently active data streams. If not handled properly, IP session data packets could be lost, duplicated and/or received out of order. While some applications such as web browsing may appear (from the end-user perspective) largely unaffected by data stream interruptions that occur during handoffs, other applications can be affected by even the slightest of interruptions. For example, end users may be acutely aware of any disruptions in high data rate and/or real-time services such as phone calls, live video streaming, Internet gaming, and the like. The disruptions may be experienced as a garbled or interrupted voice, video pixilation and/or freeze, or even dropped TCP connections. These weaknesses and/or drawbacks are likely to become more apparent because the increased network reliability and throughput of modern networks has led to widespread use of IP to deliver applications with real-time requirements and these applications do not tolerate the delay associated with retransmitting dropped packets.
One approach to handing off IP data sessions between source and target access paths is to use data stream switching. No special actions are performed by the mobile node or the network in basic data stream switching. The network simply switches the data path from the source to the target access path as soon as registration of the mobile node (over the target access node) has been accepted. The mobile node switches its data path from the source to the target access path once the mobile node receives and processes the reply from the network indicating that the registration has been accepted. This approach has the advantage of being straightforward to implement but it virtually guarantees that packets will be dropped in both the uplink and downlink directions. For example, uplink packets on the source leg will be dropped beginning when the network switches the data path and continuing until the time that the mobile node switches the data path. Downlink packets that are in-flight on the source leg will be dropped beginning when the mobile node switches the data path to the target leg. Downlink packets on the target leg that arrive at the mobile node before the mobile node has switched the data path to the target leg will also be dropped.
The number of dropped packets can be reduced by using buffering techniques. For example, the IP anchor point can continue to use the source leg for the data path after receiving the mobile node registration while buffering packets received over the target leg. The data path can then be switched to the target leg after a predetermined time interval that is selected to allow time for the in-flight uplink packets to arrive over the source leg. The IP anchor point will also stop transmitting packets over the downlink until the data path is switched to the target leg. However, it may be difficult to determine the appropriate time interval to balance the competing demands for a longer time interval that guarantees that all the in-flight uplink packets have arrived and a shorter time interval that reduces the delay and/or jitter in the downlink packets. Similar buffering techniques (which have similar drawbacks) can be used to allow the mobile node to continue monitoring the source leg while buffering information received over the target leg.
On the downlink, simultaneous binding of the IP session to both the source leg and the target leg can be used to reduce packet loss. The IP anchor point can transmit duplicate packets over the source and target legs to the mobile node. However, delays and/or jitter may cause the duplicate packets to arrive out of order, in which case the mobile node would have to re-order and/or sort the packets so that they can be processed in the correct order. Furthermore, the mobile node and the IP anchor point would need to implement a system for determining how long to maintain the simultaneous binding and when to drop the simultaneous binding. Besides time duration, a node could attempt to synchronize the two streams (i.e. determine that the same packet is being received over both streams). However, synchronizing the streams may not always be possible. For example, the node may not be able to identify the same packet in the different data streams if the data streams are not using well defined protocols or if the protocol contain no mechanism for the ordering of packets.